package com.ruoyi.system.service;

import java.util.List;
import com.ruoyi.system.domain.CardScheme;
import com.ruoyi.system.domain.CardSchemeDept;

/**
 * 方案Service接口
 *
 * @author ruoyi
 * @date 2025-01-25
 */
public interface ICardSchemeService
{
    /**
     * 查询方案
     *
     * @param schemeId 方案主键
     * @return 方案
     */
    public CardScheme selectCardSchemeBySchemeId(Long schemeId);

    /**
     * 查询方案列表
     *
     * @param cardScheme 方案
     * @return 方案集合
     */
    public List<CardScheme> selectCardSchemeList(CardScheme cardScheme);

    /**
     * 新增方案
     *
     * @param cardScheme 方案
     * @return 结果
     */
    public int insertCardScheme(CardScheme cardScheme);

    /**
     * 修改方案
     *
     * @param cardScheme 方案
     * @return 结果
     */
    public int updateCardScheme(CardScheme cardScheme);

    /**
     * 批量删除方案
     *
     * @param schemeIds 需要删除的方案主键集合
     * @return 结果
     */
    public int deleteCardSchemeBySchemeIds(Long[] schemeIds);

    /**
     * 删除方案信息
     *
     * @param schemeId 方案主键
     * @return 结果
     */
    public int deleteCardSchemeBySchemeId(Long schemeId);

    boolean checkSchemeNameUnique(CardScheme cardScheme);

    public List<Long> selectDeptListBySchemeId(Long schemeId);

    List<CardSchemeDept> getSchemeDept(CardScheme cardScheme);
}
